package 字符流;


import org.junit.Test;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class File以单个字符读入数据 {
    @Test
    public void Test1() throws Exception {
        //实例化将要操作的对象，
        File f1 = new File("hello.txt");
        //给操作对象，提供具体的输入流（字符流）
        FileReader fr1 = new FileReader(f1);
        //数据读入
        int data = fr1.read();
        while (data != -1) {
            System.out.print((char) data);
            System.out.print("-------------");
            System.out.print(data);
            System.out.println();
            data = fr1.read();
        }
        //关闭输入流
        fr1.close();


    }

    //改进方法
    @Test
    public void Test2() {

        FileReader fr1 = null;
        try {
            File f1 = new File("hello.txt");
            //实例化操作对象，
            //提供具体的流
            fr1 = new FileReader(f1);
            //数据读入
            int data = fr1.read();//以字节流读取，返回整数；如果已到达流的末尾，则返回-1；对照ASCII码
            while (data != -1) {//循环读入数据‘
                System.out.print((char) data);
                data = fr1.read();
            }
        } catch (Exception e) {
            System.out.println("代码有问题！");
        } finally {
            if (fr1 != null) {
                try {
                    fr1.close();//必须关闭资源
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }


    }
}
